// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

suite("test_nereids_case_function", "query,p0") {
    sql "use test_query_db"
    sql "SET enable_nereids_planner=true"
    sql "SET enable_fallback_to_original_planner=false"

    def tableName1 = "test"
    def tableName2 = "baseall"

    qt_case1 """select 'number', count(*) from ${tableName2} group by
                case
                when k1=10 then 'zero'
                when k1>10 then '+'
                when k1<10 then '-' end order by 1, 2"""
    
    qt_case2 """select case when k1=0 then 'zero'
		        when k1>0 then '+'
		        when k1<0 then '-' end as wj,
		        count(*) from ${tableName1}
		        group by
                case when k1=0 then 'zero'
                     when k1>0 then '+'
                     when k1<0 then '-' end
                order by
                case when k1=0 then 'zero'
                     when k1>0 then '+'
                     when k1<0 then '-' end"""
    
    qt_case3 """
                select a.k1, case
                when b.wj is not null and b.k1>0 then 'wangjing'
                when b.wj is null then b.wj
                end as wjtest
                from (select k1, k2, case when k6='true' then 'ok' end as wj
                from ${tableName1}) as b 
                join ${tableName2} as a where a.k1=b.k1 and a.k2=b.k2 order by k1, wjtest
             """
    
    qt_case4 """select case when k1<0 then 'zhengshu' when k10='1989-03-21' then 'birthday' 
                when k2<0 then 'fu' when k7 like '%wang%' then 'wang' else 'other' end 
                as wj from ${tableName1} order by wj"""
    
    qt_case5 """select case k6 when 'true' then 1 when 'false' then -1 else 0 end 
		        as wj from ${tableName1} order by wj"""
    
    qt_case6 """select k1, case k1 when 1 then 'one' when 2 then 'two' 
		        end as wj from ${tableName1} order by k1, wj"""
    
    qt_case7 """select k1, case when k2<0 then -1 when k2=0 then 0 when k2>0 then 1 end 
		        as wj from ${tableName1} order by k1, wj"""

    qt_case8 """select 'number', count(*) from ${tableName2} group by
               case
               when k1=10 then 'zero'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1>10 then '+'
               when k1<10 then '-' end order by 1, 2"""
}
